Название плагина: DKR_PuzzleMouse Автор: DarchanKaen Версия: 1.0.0 Дата выхода: 23.05.2021 Описание плагина:
Плагин позволяет инвертировать ("перевернуть") отображение экрана и, соответственно, управление.
Обратите внимание, после инвертирования текст Сообщениях, Выборе и Бое отображается некорректно!
Для корректного отображение - нормализируйте отображение экрана соответствующей командой.
Перед нормализацией отображения будет краткое затемнение экрана.
Возможно, в дальнейшем будет найдено решение проблемы текста - тогда плагин будет обновлен.
Использование плагина:
Одинаково и для MV , и для MZ (в эвенте, в команде "Скрипт")!
- Инвертирование ("поворот") отображения экрана:
DKR.DisorientingScreen.disorientAxisX(); - инвертирует отображение по оси X.
DKR.DisorientingScreen.disorientAxisY(); - инвертирует отображение по оси Y.
DKR.DisorientingScreen.disorientAxisXY(); - инвертирует отображение по осям X и Y одновременно. - Нормализация отображения экрана:
DKR.DisorientingScreen.normalizeAxisX(); - нормализирует отображение по оси X.
DKR.DisorientingScreen.normalizAxisY(); - нормализирует отображение по оси Y.
DKR.DisorientingScreen.normalizAxisXY(); - нормализирует отображение по осям X и Y одновременно.
СпойлерКод плагина для MV:
Код:
/*:
*-----------------------------------------------------------------------------
* DKR DisorientingScreen
*-----------------------------------------------------------------------------
* For: RPGMAKER MV
* DKR_DisorientingScreen_MV.js
*-----------------------------------------------------------------------------
* 23.05.2021 - Версия 1.0.0
*-----------------------------------------------------------------------------
* Поставляется AS-IS.
* Вся ответственность при использовании - на Пользователе!
*-----------------------------------------------------------------------------
*-----------------------------------------------------------------------------
* @author DarchanKaen
* @target MV
* @plugindesc (v.1.0.0) Плагин позволяет инвертировать ("перевернуть") отображение экрана и, соответственно, управление. Текст Сообщения, Выбора и Боя не отображается!!!
*
* @help
* DKR DisorientingScreen
* ----------------------------------------------------------------------------
* ---Общая информация:
* Плагин позволяет инвентировать ("перевернуть")
* отображение экрана и, соответственно, управление.
* В "инвертированном" варианте текст Сообщения, Выбора
* и Боя отображается некорректно.
* Для корректного отображение - нормализируйте
* отображение экрана соотв-й командой.
* ---Команды(в эвенте команда "Скрипт"):
* - Инвертирование ("поворот") отображения экрана:
* DKR.DisorientingScreen.disorientAxisX(); - инвертирует отображение по оси X.
* DKR.DisorientingScreen.disorientAxisY(); - инвертирует отображение по оси Y.
* DKR.DisorientingScreen.disorientAxisXY(); - инвертирует отображение по осям X и Y одновременно.
- Нормализация отображения экрана:
* DKR.DisorientingScreen.normalizeAxisX(); - нормализирует отображение по оси X.
* DKR.DisorientingScreen.normalizAxisY(); - нормализирует отображение по оси Y.
* DKR.DisorientingScreen.normalizAxisXY(); - нормализирует отображение по осям X и Y одновременно.
* ----------------------------------------------------------------------------
*/
var Imported = Imported || {};
Imported.DKR_DisorientingScreen = true;
var DKR = DKR || {};
DKR.DisorientingScreen = DKR.DisorientingScreen || {};
( () => {
DKR.DisorientingScreen.version = 1.0;
DKR.DisorientingScreen.isDisorientAxisX = false;
DKR.DisorientingScreen.isDisorientAxisY = false;
DKR.DisorientingScreen.disorientAxisX = function(){
Scene_Map.prototype.start = function() {
Scene_Base.prototype.start.call(this);
SceneManager.clearStack();
if (this._transfer) {
this.fadeInForTransfer();
this.onTransferEnd();
} else if (this.needsFadeIn()) {
this.startFadeIn(this.fadeSpeed(), false);
}
this.menuCalling = false;
this.scale.x = -1;
this.position.x += Graphics._width;
};
SceneManager._scene.scale.x = -1;
SceneManager._scene.position.x += Graphics._width;
DKR.DisorientingScreen.isDisorientAxisX = true;
}
DKR.DisorientingScreen.disorientAxisY = function(){
Scene_Map.prototype.start = function() {
Scene_Base.prototype.start.call(this);
SceneManager.clearStack();
if (this._transfer) {
this.fadeInForTransfer();
this.onTransferEnd();
} else if (this.needsFadeIn()) {
this.startFadeIn(this.fadeSpeed(), false);
}
this.menuCalling = false;
this.scale.y = -1;
this.position.y += Graphics._height;
};
SceneManager._scene.scale.y = -1;
SceneManager._scene.position.y += Graphics._height;
DKR.DisorientingScreen.isDisorientAxisY = true;
}
DKR.DisorientingScreen.disorientAxisXY = function(){
Scene_Map.prototype.start = function() {
Scene_Base.prototype.start.call(this);
SceneManager.clearStack();
if (this._transfer) {
this.fadeInForTransfer();
this.onTransferEnd();
} else if (this.needsFadeIn()) {
this.startFadeIn(this.fadeSpeed(), false);
}
this.menuCalling = false;
this.scale.x = -1;
this.scale.y = -1;
this.position.x += Graphics._width;
this.position.y += Graphics._height;
};
SceneManager._scene.scale.x = -1;
SceneManager._scene.position.x += Graphics._width;
SceneManager._scene.scale.y = -1;
SceneManager._scene.position.y += Graphics._height;
DKR.DisorientingScreen.isDisorientAxisX = true;
DKR.DisorientingScreen.isDisorientAxisY = true;
}
DKR.DisorientingScreen.normalizeAxisX = function(){
if (false === DKR.DisorientingScreen.isDisorientAxisY){
Scene_Map.prototype.start = function() {
Scene_Base.prototype.start.call(this);
SceneManager.clearStack();
if (this._transfer) {
this.fadeInForTransfer();
this.onTransferEnd();
} else if (this.needsFadeIn()) {
this.startFadeIn(this.fadeSpeed(), false);
}
this.menuCalling = false;
};
}else if (true === DKR.DisorientingScreen.isDisorientAxisY){
Scene_Map.prototype.start = function() {
Scene_Base.prototype.start.call(this);
SceneManager.clearStack();
if (this._transfer) {
this.fadeInForTransfer();
this.onTransferEnd();
} else if (this.needsFadeIn()) {
this.startFadeIn(this.fadeSpeed(), false);
}
this.menuCalling = false;
this.scale.y = -1;
this.position.y += Graphics._height;
};
}
DKR.DisorientingScreen.isDisorientAxisX = false;
SceneManager.push(Scene_Map);
}
DKR.DisorientingScreen.normalizeAxisY = function(){
if (false === DKR.DisorientingScreen.isDisorientAxisX){
Scene_Map.prototype.start = function() {
Scene_Base.prototype.start.call(this);
SceneManager.clearStack();
if (this._transfer) {
this.fadeInForTransfer();
this.onTransferEnd();
} else if (this.needsFadeIn()) {
this.startFadeIn(this.fadeSpeed(), false);
}
this.menuCalling = false;
};
}else if (true === DKR.DisorientingScreen.isDisorientAxisX){
Scene_Map.prototype.start = function() {
Scene_Base.prototype.start.call(this);
SceneManager.clearStack();
if (this._transfer) {
this.fadeInForTransfer();
this.onTransferEnd();
} else if (this.needsFadeIn()) {
this.startFadeIn(this.fadeSpeed(), false);
}
this.menuCalling = false;
this.scale.x = -1;
this.position.x += Graphics._width;
};
}
DKR.DisorientingScreen.isDisorientAxisY = false;
SceneManager.push(Scene_Map);
}
DKR.DisorientingScreen.normalizeAxisXY = function(){
Scene_Map.prototype.start = function() {
Scene_Base.prototype.start.call(this);
SceneManager.clearStack();
if (this._transfer) {
this.fadeInForTransfer();
this.onTransferEnd();
} else if (this.needsFadeIn()) {
this.startFadeIn(this.fadeSpeed(), false);
}
this.menuCalling = false;
};
DKR.DisorientingScreen.isDisorientAxisX = false;
DKR.DisorientingScreen.isDisorientAxisY = false;
SceneManager.push(Scene_Map);
}
})();
СпойлерКод плагина для MZ:
Код:
/*:
*-----------------------------------------------------------------------------
* DKR DisorientingScreen
*-----------------------------------------------------------------------------
* For: RPGMAKER MZ
* DKR_DisorientingScreen_MZ.js
*-----------------------------------------------------------------------------
* 23.05.2021 - Версия 1.0.0
*-----------------------------------------------------------------------------
* Поставляется AS-IS.
* Вся ответственность при использовании - на Пользователе!
*-----------------------------------------------------------------------------
*-----------------------------------------------------------------------------
* @author DarchanKaen
* @target MZ
* @plugindesc (v.1.0.0) Плагин позволяет инвертировать ("перевернуть") отображение экрана и, соответственно, управление. Текст Сообщения, Выбора и Боя не отображается!!!
*
* @help
* DKR DisorientingScreen
* ----------------------------------------------------------------------------
* ---Общая информация:
* Плагин позволяет инвентировать ("перевернуть")
* отображение экрана и, соответственно, управление.
* В "инвертированном" варианте текст Сообщения, Выбора
* и Боя отображается некорректно.
* Для корректного отображение - нормализируйте
* отображение экрана соотв-й командой.
* ---Команды(в эвенте команда "Скрипт"):
* - Инвертирование ("поворот") отображения экрана:
* DKR.DisorientingScreen.disorientAxisX(); - инвертирует отображение по оси X.
* DKR.DisorientingScreen.disorientAxisY(); - инвертирует отображение по оси Y.
* DKR.DisorientingScreen.disorientAxisXY(); - инвертирует отображение по осям X и Y одновременно.
- Нормализация отображения экрана:
* DKR.DisorientingScreen.normalizeAxisX(); - нормализирует отображение по оси X.
* DKR.DisorientingScreen.normalizAxisY(); - нормализирует отображение по оси Y.
* DKR.DisorientingScreen.normalizAxisXY(); - нормализирует отображение по осям X и Y одновременно.
* ----------------------------------------------------------------------------
*/
var Imported = Imported || {};
Imported.DKR_DisorientingScreen = true;
var DKR = DKR || {};
DKR.DisorientingScreen = DKR.DisorientingScreen || {};
( () => {
DKR.DisorientingScreen.version = 1.0;
DKR.DisorientingScreen.isDisorientAxisX = false;
DKR.DisorientingScreen.isDisorientAxisY = false;
DKR.DisorientingScreen.disorientAxisX = function(){
Scene_Map.prototype.start = function() {
Scene_Message.prototype.start.call(this);
SceneManager.clearStack();
if (this._transfer) {
this.fadeInForTransfer();
this.onTransferEnd();
} else if (this.needsFadeIn()) {
this.startFadeIn(this.fadeSpeed(), false);
}
this.menuCalling = false;
this.scale.x = -1;
this.position.x += Graphics._width;
};
SceneManager._scene.scale.x = -1;
SceneManager._scene.position.x += Graphics._width;
DKR.DisorientingScreen.isDisorientAxisX = true;
}
DKR.DisorientingScreen.disorientAxisY = function(){
Scene_Map.prototype.start = function() {
Scene_Message.prototype.start.call(this);
SceneManager.clearStack();
if (this._transfer) {
this.fadeInForTransfer();
this.onTransferEnd();
} else if (this.needsFadeIn()) {
this.startFadeIn(this.fadeSpeed(), false);
}
this.menuCalling = false;
this.scale.y = -1;
this.position.y += Graphics._height;
};
SceneManager._scene.scale.y = -1;
SceneManager._scene.position.y += Graphics._height;
DKR.DisorientingScreen.isDisorientAxisY = true;
}
DKR.DisorientingScreen.disorientAxisXY = function(){
Scene_Map.prototype.start = function() {
Scene_Message.prototype.start.call(this);
SceneManager.clearStack();
if (this._transfer) {
this.fadeInForTransfer();
this.onTransferEnd();
} else if (this.needsFadeIn()) {
this.startFadeIn(this.fadeSpeed(), false);
}
this.menuCalling = false;
this.scale.x = -1;
this.scale.y = -1;
this.position.x += Graphics._width;
this.position.y += Graphics._height;
};
SceneManager._scene.scale.x = -1;
SceneManager._scene.position.x += Graphics._width;
SceneManager._scene.scale.y = -1;
SceneManager._scene.position.y += Graphics._height;
DKR.DisorientingScreen.isDisorientAxisX = true;
DKR.DisorientingScreen.isDisorientAxisY = true;
}
DKR.DisorientingScreen.normalizeAxisX = function(){
if (false === DKR.DisorientingScreen.isDisorientAxisY){
Scene_Map.prototype.start = function() {
Scene_Message.prototype.start.call(this);
SceneManager.clearStack();
if (this._transfer) {
this.fadeInForTransfer();
this.onTransferEnd();
} else if (this.needsFadeIn()) {
this.startFadeIn(this.fadeSpeed(), false);
}
this.menuCalling = false;
};
}else if (true === DKR.DisorientingScreen.isDisorientAxisY){
Scene_Map.prototype.start = function() {
Scene_Message.prototype.start.call(this);
SceneManager.clearStack();
if (this._transfer) {
this.fadeInForTransfer();
this.onTransferEnd();
} else if (this.needsFadeIn()) {
this.startFadeIn(this.fadeSpeed(), false);
}
this.menuCalling = false;
this.scale.y = -1;
this.position.y += Graphics._height;
};
}
DKR.DisorientingScreen.isDisorientAxisX = false;
SceneManager.push(Scene_Map);
}
DKR.DisorientingScreen.normalizeAxisY = function(){
if (false === DKR.DisorientingScreen.isDisorientAxisX){
Scene_Map.prototype.start = function() {
Scene_Message.prototype.start.call(this);
SceneManager.clearStack();
if (this._transfer) {
this.fadeInForTransfer();
this.onTransferEnd();
} else if (this.needsFadeIn()) {
this.startFadeIn(this.fadeSpeed(), false);
}
this.menuCalling = false;
};
}else if (true === DKR.DisorientingScreen.isDisorientAxisX){
Scene_Map.prototype.start = function() {
Scene_Message.prototype.start.call(this);
SceneManager.clearStack();
if (this._transfer) {
this.fadeInForTransfer();
this.onTransferEnd();
} else if (this.needsFadeIn()) {
this.startFadeIn(this.fadeSpeed(), false);
}
this.menuCalling = false;
this.scale.x = -1;
this.position.x += Graphics._width;
};
}
DKR.DisorientingScreen.isDisorientAxisY = false;
SceneManager.push(Scene_Map);
}
DKR.DisorientingScreen.normalizeAxisXY = function(){
Scene_Map.prototype.start = function() {
Scene_Message.prototype.start.call(this);
SceneManager.clearStack();
if (this._transfer) {
this.fadeInForTransfer();
this.onTransferEnd();
} else if (this.needsFadeIn()) {
this.startFadeIn(this.fadeSpeed(), false);
}
this.menuCalling = false;
};
DKR.DisorientingScreen.isDisorientAxisX = false;
DKR.DisorientingScreen.isDisorientAxisY = false;
SceneManager.push(Scene_Map);
}
})();
Условия поставки плагина:
Поставляется AS-IS.
Вся ответственность при использовании - на Пользователе! !
Совместимость с другими плагинами Автор не гарантирует!
СпойлерЛирическое отступление:
Делал для своего проекта, чтоб вручную не перерисовывать графику при "перевороте" экрана.
Перевернуть экран можно и просто "скриптом", но тогда после вызова меню (или любой другой Сцены) инвертирование экрана сбрасывается - тут это поправил.
Последний раз редактировалось Darchan Kaen; 23.05.2021 в 18:17.
Социальные закладки